Comparing Intel Thread Checker and Sun Thread Analyzer
نویسنده
چکیده
Multiprocessor compute servers have been available for many years now. It is expected that the number of cores and threads per processor chip will increase in the future. Hence, parallel programming will become more common. Posix-/Win32-Threads and OpenMP are the most wide-spread programming paradigms for shared-memory parallelization. At the first sight, programming for Posix-Threads or OpenMP may seem to be easily understandable. But for non-trivial applications, reasoning about the correctness of a parallel program is much harder than of a sequential control flow. The typical programming errors of shared-memory parallelization are data races and deadlocks. Data races cause the result of a computation to be non-deterministic and dependent on the timing of other events. In case of a deadlock two or more threads are waiting for each other. Finding those errors with traditional debuggers is hard, if not impossible. This paper compares two software tools: Intel Thread Checker and Sun Thread Analyzer, that help the programmer in finding these errors. Experiences using both tools on multithreaded applications will be presented together with findings on the strengths and limitations of each product.
منابع مشابه
Unraveling Data Race Detection in the Intel® Thread Checker
The Inte l® Thread Checker is a runtime analysis tool for automatically finding threading related defects in multithreading applications. An unsynchronized memory reference which causes non-deterministic behavior – a problem that is notoriously hard to find – is one such defect which the Thread Checker finds with ease. These data races are pinpointed for the user at specific locations in the ap...
متن کاملParallel Software Development with Intel® Threading Analysis Tools
While multi-core processors are designed for greater performance with optimal power consumption, the parallel algorithm design and software development that is needed to maximize the performance potential of multi-core systems are much more complicated than those associated with serial computing. Even though parallel computing has long been studied by researchers, there is no general framework ...
متن کاملComparison and Analysis of Parallel Computing Performance Using OpenMP and MPI
The developments of multi-core technology have induced big challenges to software structures. To take full advantages of the performance enhancements offered by new multi-core hardware, software programming models have made a great shift from sequential programming to parallel programming. OpenMP (Open Multi-Processing) and MPI (Message Passing Interface), as the most common parallel programmin...
متن کاملA Memory Model Sensitive Checker for C#
Modern concurrent programming languages like Java and C# have a programming language level memory model; it captures the set of all allowed behaviors of programs on any implementation platform — unior multi-processor. Such a memory model is typically weaker than Sequential Consistency and allows re-ordering of operations within a program thread. Therefore, programs verified correct by assuming ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007